import { productfile } from "~~/server/util/excel-handler";


export default defineEventHandler(async (event) => {
   try {
    // 1. 接收前端传入的数据（与dataPak对应）
    const dataPak = await readBody(event);
    if (!dataPak || !Array.isArray(dataPak)) {
      throw new Error('请传入有效的数据数组');
    }    

    // 2. 调用函数生成Excel Buffer
    const excelBuffer = await productfile(dataPak);

    // 3. 设置响应头，告诉前端这是Excel文件
    setResponseHeaders(event, {
      'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
      'Content-Disposition': 'attachment; filename="result.xlsx"', // 下载的文件名
      'Content-Length': excelBuffer.length.toString() // 可选：指定文件大小
    });

    // 4. 返回Buffer，Nuxt会自动处理为文件响应
    return excelBuffer;

  } catch (error) {
    // 错误处理：返回错误信息
    setResponseStatus(event, 500);
    return {
      success: false,
      message: error.message || '文件生成失败'
    };
  }
})
